pub fn new_birthday_probability(n: u32) -> f64 {
    // 确保人数至少为2
    assert!(n >= 2, "人数必须大于等于2");

    // 计算至少两个人生日相同的概率
    // 先计算所有人生日都不同的概率，然后用1减去
    let mut different_prob = 1.0;
    
    // 从第一个人开始计算，每增加一个人，可选的生日就少一天
    for i in 0..n {
        different_prob *= (365.0 - i as f64) / 365.0;
    }
    
    // 保留4位小数
    ((1.0 - different_prob) * 10000.0).round() / 10000.0
}
